[INFO] cloning repository https://github.com/rfushimi/q
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rfushimi/q" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frfushimi%2Fq", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frfushimi%2Fq'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b64c311f38a073bf346ea6e02bc7aad2335ac24b
[INFO] testing rfushimi/q against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frfushimi%2Fq" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rfushimi/q
[INFO] finished tweaking git repo https://github.com/rfushimi/q
[INFO] tweaked toml for git repo https://github.com/rfushimi/q written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rfushimi/q on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rfushimi/q already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wiremock v0.5.22
[INFO] [stderr]   Downloaded deadpool v0.9.5
[INFO] [stderr]   Downloaded retain_mut v0.1.9
[INFO] [stderr]   Downloaded deadpool-runtime v0.1.4
[INFO] [stderr]   Downloaded toml_edit v0.22.23
[INFO] [stderr]   Downloaded winnow v0.7.1
[INFO] [stderr]   Downloaded tokio-test v0.4.4
[INFO] [stderr]   Downloaded onig v6.4.0
[INFO] [stderr]   Downloaded shellexpand v3.1.0
[INFO] [stderr]   Downloaded cc v1.2.12
[INFO] [stderr]   Downloaded native-tls v0.2.13
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.105
[INFO] [stderr]   Downloaded directories v5.0.1
[INFO] [stderr]   Downloaded console v0.15.10
[INFO] [stderr]   Downloaded colored v2.2.0
[INFO] [stderr]   Downloaded clap v4.5.28
[INFO] [stderr]   Downloaded cached_proc_macro v0.20.0
[INFO] [stderr]   Downloaded cached v0.49.3
[INFO] [stderr]   Downloaded assert_cmd v2.0.16
[INFO] [stderr]   Downloaded clap_builder v4.5.27
[INFO] [stderr]   Downloaded openssl v0.10.70
[INFO] [stderr]   Downloaded bstr v1.11.3
[INFO] [stderr]   Downloaded onig_sys v69.8.1
[INFO] [stderr]   Downloaded syntect v5.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e93f9a8df741a96e9101e63cf320b1231eabb9117f0bef0527b6dcc237b01c7c
[INFO] running `Command { std: "docker" "start" "-a" "e93f9a8df741a96e9101e63cf320b1231eabb9117f0bef0527b6dcc237b01c7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e93f9a8df741a96e9101e63cf320b1231eabb9117f0bef0527b6dcc237b01c7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e93f9a8df741a96e9101e63cf320b1231eabb9117f0bef0527b6dcc237b01c7c", kill_on_drop: false }`
[INFO] [stdout] e93f9a8df741a96e9101e63cf320b1231eabb9117f0bef0527b6dcc237b01c7c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3152c2ff58f3aa8ea347c205935e5e43aa5236c75e88f90bb786154e564f1ef0
[INFO] running `Command { std: "docker" "start" "-a" "3152c2ff58f3aa8ea347c205935e5e43aa5236c75e88f90bb786154e564f1ef0", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.12
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling openssl v0.10.70
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling httparse v1.10.0
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling native-tls v0.2.13
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling portable-atomic v1.10.0
[INFO] [stderr]    Compiling time v0.3.37
[INFO] [stderr]    Compiling miniz_oxide v0.8.3
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling quick-xml v0.32.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling winnow v0.7.1
[INFO] [stderr]    Compiling clap_builder v4.5.27
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling openssl-sys v0.9.105
[INFO] [stderr]    Compiling onig_sys v69.8.1
[INFO] [stderr]    Compiling console v0.15.10
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]    Compiling cached_proc_macro_types v0.1.1
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling shellexpand v3.1.0
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling cached_proc_macro v0.20.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling onig v6.4.0
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling clap_derive v4.5.28
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling backoff v0.4.0
[INFO] [stderr]    Compiling cached v0.49.3
[INFO] [stderr]    Compiling async-trait v0.1.86
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling clap v4.5.28
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling tokio-util v0.7.13
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling serde_json v1.0.138
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling plist v1.7.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling toml_edit v0.22.23
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling syntect v5.2.0
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling toml v0.8.20
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling q v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `shellexpand::tilde`
[INFO] [stdout]  --> src/context/history.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shellexpand::tilde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]   --> src/config/mod.rs:24:51
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result<Config, QError> {
[INFO] [stdout]    |                                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_key` is never read
[INFO] [stdout]   --> src/api/openai.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct OpenAIClient {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 16 |     client: Client,
[INFO] [stdout] 17 |     api_key: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `role` is never read
[INFO] [stdout]   --> src/api/openai.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct DeltaContent {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout] 63 |     role: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeltaContent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `progress` are never read
[INFO] [stdout]   --> src/core/mod.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct QueryEngine {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 54 |     client: Arc<dyn LLMApi>,
[INFO] [stdout] 55 |     config: QueryConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 56 |     progress: Option<ProgressBar>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format::format_markdown`
[INFO] [stdout]  --> src/utils/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use format::format_markdown;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shellexpand::tilde`
[INFO] [stdout]  --> src/context/history.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shellexpand::tilde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]   --> src/config/mod.rs:24:51
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result<Config, QError> {
[INFO] [stdout]    |                                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_model` is never used
[INFO] [stdout]    --> src/config/mod.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl ConfigManager {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn get_model(&self, provider: Provider) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Api` is never constructed
[INFO] [stdout]   --> src/utils/errors.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum QError {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 12 |     Api(String),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_retryable` is never used
[INFO] [stdout]   --> src/api/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl ApiError {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 25 |     pub fn is_retryable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `StreamingResponse` is never used
[INFO] [stdout]   --> src/api/mod.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub type StreamingResponse = Pin<Box<dyn Stream<Item = ApiResult<String>> + Send>>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_streaming_query` and `validate_key` are never used
[INFO] [stdout]   --> src/api/mod.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub trait LLMApi: Send + Sync {
[INFO] [stdout]    |           ------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 44 |     async fn send_streaming_query(&self, prompt: &str) -> ApiResult<StreamingResponse>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     async fn validate_key(&self) -> ApiResult<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_api_key` is never used
[INFO] [stdout]   --> src/api/mod.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn read_api_key(path: &str) -> std::io::Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_key` is never read
[INFO] [stdout]   --> src/api/openai.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct OpenAIClient {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 16 |     client: Client,
[INFO] [stdout] 17 |     api_key: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatStreamResponse` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct ChatStreamResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamChoice` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct StreamChoice {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeltaContent` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct DeltaContent {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorResponse` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct ErrorResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorDetail` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct ErrorDetail {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_api_url` and `with_config` are never used
[INFO] [stdout]    --> src/api/openai.rs:97:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl OpenAIClientBuilder {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn with_api_url(mut self, url: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn with_config(mut self, config: ModelConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `model` and `process_stream_chunk` are never used
[INFO] [stdout]    --> src/api/openai.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl OpenAIClient {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn model(&self) -> &str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn process_stream_chunk(chunk: &[u8]) -> ApiResult<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamResponse` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct StreamResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamCandidate` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct StreamCandidate {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamContent` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct StreamContent {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorResponse` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct ErrorResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorDetail` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct ErrorDetail {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_api_url` and `with_config` are never used
[INFO] [stdout]    --> src/api/gemini.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl GeminiClientBuilder {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn with_api_url(mut self, url: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn with_config(mut self, config: ModelConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `process_stream_chunk` is never used
[INFO] [stdout]    --> src/api/gemini.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl GeminiClient {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn process_stream_chunk(chunk: &[u8]) -> ApiResult<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/context/mod.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |     File(PathBuf),
[INFO] [stdout]    |     ---- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 39 -     File(PathBuf),
[INFO] [stdout] 39 +     File(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context_type` is never read
[INFO] [stdout]   --> src/context/mod.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct ContextData {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 44 |     pub context_type: ContextType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Pattern` and `Other` are never constructed
[INFO] [stdout]   --> src/commands/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum CommandError {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 10 |     #[error("Pattern matching error: {0}")]
[INFO] [stdout] 11 |     Pattern(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `System` and `Other` are never constructed
[INFO] [stdout]   --> src/commands/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Category {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 24 |     System,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Other,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Category` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_command` is never used
[INFO] [stdout]    --> src/commands/database.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn get_command(name: &str) -> Option<&'static CommandInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Cache`, `Retry`, and `Other` are never constructed
[INFO] [stdout]   --> src/core/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum CoreError {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Cache(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     Retry(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CoreError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct QueryConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 30 |     pub max_retries: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 31 |     pub show_progress: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 32 |     pub cache_ttl: Duration,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 33 |     pub max_cache_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub retry_delay: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 35 |     pub max_retry_delay: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub verbosity: Verbosity,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QueryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `progress` are never read
[INFO] [stdout]   --> src/core/mod.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct QueryEngine {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 54 |     client: Arc<dyn LLMApi>,
[INFO] [stdout] 55 |     config: QueryConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 56 |     progress: Option<ProgressBar>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryCache` is never constructed
[INFO] [stdout]  --> src/core/cache.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct QueryCache {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `insert`, `clear`, `len`, and `is_empty` are never used
[INFO] [stdout]   --> src/core/cache.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl QueryCache {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 11 |     /// Create a new query cache with the specified size and TTL
[INFO] [stdout] 12 |     pub fn new(size: usize, ttl: Duration) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn get(&self, query: &str) -> Option<String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn insert(&self, query: String, response: String) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn clear(&self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `with_retry` is never used
[INFO] [stdout]  --> src/core/retry.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub async fn with_retry<T, F, Fut>(
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_retry` is never used
[INFO] [stdout]   --> src/core/retry.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn should_retry(error: &CoreError) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 11s
[INFO] running `Command { std: "docker" "inspect" "3152c2ff58f3aa8ea347c205935e5e43aa5236c75e88f90bb786154e564f1ef0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3152c2ff58f3aa8ea347c205935e5e43aa5236c75e88f90bb786154e564f1ef0", kill_on_drop: false }`
[INFO] [stdout] 3152c2ff58f3aa8ea347c205935e5e43aa5236c75e88f90bb786154e564f1ef0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b00c6910d4cb728b8e1ed182111e2bc6149bd8c61aec49a4c3ea245956fbf1d1
[INFO] running `Command { std: "docker" "start" "-a" "b00c6910d4cb728b8e1ed182111e2bc6149bd8c61aec49a4c3ea245956fbf1d1", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling openssl v0.10.70
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling serde_qs v0.8.5
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling infer v0.2.3
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling assert_cmd v2.0.16
[INFO] [stderr]    Compiling retain_mut v0.1.9
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling native-tls v0.2.13
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling bstr v1.11.3
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling tempfile v3.16.0
[INFO] [stderr]    Compiling tokio-util v0.7.13
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling deadpool v0.9.5
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling wiremock v0.5.22
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling q v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `shellexpand::tilde`
[INFO] [stdout]  --> src/context/history.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shellexpand::tilde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]   --> src/config/mod.rs:24:51
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result<Config, QError> {
[INFO] [stdout]    |                                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_key` is never read
[INFO] [stdout]   --> src/api/openai.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct OpenAIClient {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 16 |     client: Client,
[INFO] [stdout] 17 |     api_key: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `role` is never read
[INFO] [stdout]   --> src/api/openai.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct DeltaContent {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 62 |     #[serde(default)]
[INFO] [stdout] 63 |     role: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DeltaContent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `progress` are never read
[INFO] [stdout]   --> src/core/mod.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct QueryEngine {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 54 |     client: Arc<dyn LLMApi>,
[INFO] [stdout] 55 |     config: QueryConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 56 |     progress: Option<ProgressBar>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shellexpand::tilde`
[INFO] [stdout]  --> src/context/history.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shellexpand::tilde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::ApiError`
[INFO] [stdout]   --> src/core/retry.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     use crate::api::ApiError;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `Result<_, core::CoreError>`
[INFO] [stdout]   --> src/core/retry.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let result = with_retry(
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |                 Err(CoreError::Retry("Test retry".to_string()))
[INFO] [stdout]    |                 ----------------------------------------------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `result` an explicit type, where the type for type parameter `T` is specified
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let result: Result<T, _> = with_retry(
[INFO] [stdout]    |                   ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `q::core::stream`
[INFO] [stdout]  --> tests/streaming_tests.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use q::core::stream::handle_streaming_response;
[INFO] [stdout]   |              ^^^^^^ could not find `stream` in `core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `q` (test "streaming_tests") due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `format::format_markdown`
[INFO] [stdout]  --> src/utils/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use format::format_markdown;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shellexpand::tilde`
[INFO] [stdout]  --> src/context/history.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shellexpand::tilde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format::format_markdown`
[INFO] [stdout]  --> src/utils/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use format::format_markdown;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shellexpand::tilde`
[INFO] [stdout]  --> src/context/history.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shellexpand::tilde;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::ApiError`
[INFO] [stdout]   --> src/core/retry.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     use crate::api::ApiError;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]   --> src/config/mod.rs:24:51
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result<Config, QError> {
[INFO] [stdout]    |                                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: captured variable cannot escape `FnMut` closure body
[INFO] [stdout]   --> src/core/retry.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |           let mut attempts = 0;
[INFO] [stdout]    |               ------------ variable defined here
[INFO] [stdout] 63 |           let result = with_retry(
[INFO] [stdout] 64 |               || async {
[INFO] [stdout]    |  ______________-_^
[INFO] [stdout]    | |              |
[INFO] [stdout]    | |              inferred to be a `FnMut` closure
[INFO] [stdout] 65 | |                 attempts += 1;
[INFO] [stdout]    | |                 -------- variable captured here
[INFO] [stdout] 66 | |                 if attempts < 2 {
[INFO] [stdout] 67 | |                     Err(CoreError::Retry("Test retry".to_string()))
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | |             },
[INFO] [stdout]    | |_____________^ returns an `async` block that contains a reference to a captured variable, which then escapes the closure body
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FnMut` closures only have access to their captured variables while they are executing...
[INFO] [stdout]    = note: ...therefore, they cannot allow references to captured variables to escape
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `q` (lib test) due to 2 previous errors; 3 warnings emitted
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]   --> src/config/mod.rs:24:51
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result<Config, QError> {
[INFO] [stdout]    |                                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `Result<_, core::CoreError>`
[INFO] [stdout]   --> src/core/retry.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let result = with_retry(
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |                 Err(CoreError::Retry("Test retry".to_string()))
[INFO] [stdout]    |                 ----------------------------------------------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `result` an explicit type, where the type for type parameter `T` is specified
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let result: Result<T, _> = with_retry(
[INFO] [stdout]    |                   ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verbose`
[INFO] [stdout]   --> src/config/mod.rs:24:51
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn load_or_create_config(paths: &ConfigPaths, verbose: bool) -> Result<Config, QError> {
[INFO] [stdout]    |                                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_model` is never used
[INFO] [stdout]    --> src/config/mod.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl ConfigManager {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn get_model(&self, provider: Provider) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Api` is never constructed
[INFO] [stdout]   --> src/utils/errors.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum QError {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 12 |     Api(String),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_retryable` is never used
[INFO] [stdout]   --> src/api/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl ApiError {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 25 |     pub fn is_retryable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `StreamingResponse` is never used
[INFO] [stdout]   --> src/api/mod.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub type StreamingResponse = Pin<Box<dyn Stream<Item = ApiResult<String>> + Send>>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_streaming_query` and `validate_key` are never used
[INFO] [stdout]   --> src/api/mod.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub trait LLMApi: Send + Sync {
[INFO] [stdout]    |           ------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 44 |     async fn send_streaming_query(&self, prompt: &str) -> ApiResult<StreamingResponse>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     async fn validate_key(&self) -> ApiResult<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_api_key` is never used
[INFO] [stdout]   --> src/api/mod.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn read_api_key(path: &str) -> std::io::Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_key` is never read
[INFO] [stdout]   --> src/api/openai.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct OpenAIClient {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 16 |     client: Client,
[INFO] [stdout] 17 |     api_key: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatStreamResponse` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct ChatStreamResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamChoice` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct StreamChoice {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeltaContent` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct DeltaContent {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorResponse` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct ErrorResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorDetail` is never constructed
[INFO] [stdout]   --> src/api/openai.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct ErrorDetail {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_api_url` and `with_config` are never used
[INFO] [stdout]    --> src/api/openai.rs:97:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl OpenAIClientBuilder {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn with_api_url(mut self, url: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn with_config(mut self, config: ModelConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `model` and `process_stream_chunk` are never used
[INFO] [stdout]    --> src/api/openai.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl OpenAIClient {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn model(&self) -> &str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn process_stream_chunk(chunk: &[u8]) -> ApiResult<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamResponse` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct StreamResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamCandidate` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct StreamCandidate {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamContent` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct StreamContent {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorResponse` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct ErrorResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorDetail` is never constructed
[INFO] [stdout]   --> src/api/gemini.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct ErrorDetail {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_api_url` and `with_config` are never used
[INFO] [stdout]    --> src/api/gemini.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl GeminiClientBuilder {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn with_api_url(mut self, url: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn with_config(mut self, config: ModelConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `process_stream_chunk` is never used
[INFO] [stdout]    --> src/api/gemini.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl GeminiClient {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn process_stream_chunk(chunk: &[u8]) -> ApiResult<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/context/mod.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |     File(PathBuf),
[INFO] [stdout]    |     ---- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 39 -     File(PathBuf),
[INFO] [stdout] 39 +     File(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context_type` is never read
[INFO] [stdout]   --> src/context/mod.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct ContextData {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 44 |     pub context_type: ContextType,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ContextData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Pattern` and `Other` are never constructed
[INFO] [stdout]   --> src/commands/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum CommandError {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 10 |     #[error("Pattern matching error: {0}")]
[INFO] [stdout] 11 |     Pattern(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CommandError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `System` and `Other` are never constructed
[INFO] [stdout]   --> src/commands/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Category {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 24 |     System,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Other,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Category` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_command` is never used
[INFO] [stdout]    --> src/commands/database.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn get_command(name: &str) -> Option<&'static CommandInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Cache`, `Retry`, and `Other` are never constructed
[INFO] [stdout]   --> src/core/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum CoreError {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Cache(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     Retry(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CoreError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct QueryConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 30 |     pub max_retries: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 31 |     pub show_progress: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 32 |     pub cache_ttl: Duration,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 33 |     pub max_cache_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub retry_delay: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 35 |     pub max_retry_delay: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     pub verbosity: Verbosity,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `QueryConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `progress` are never read
[INFO] [stdout]   --> src/core/mod.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct QueryEngine {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 54 |     client: Arc<dyn LLMApi>,
[INFO] [stdout] 55 |     config: QueryConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 56 |     progress: Option<ProgressBar>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryCache` is never constructed
[INFO] [stdout]  --> src/core/cache.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct QueryCache {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `insert`, `clear`, `len`, and `is_empty` are never used
[INFO] [stdout]   --> src/core/cache.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl QueryCache {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 11 |     /// Create a new query cache with the specified size and TTL
[INFO] [stdout] 12 |     pub fn new(size: usize, ttl: Duration) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn get(&self, query: &str) -> Option<String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn insert(&self, query: String, response: String) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn clear(&self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `with_retry` is never used
[INFO] [stdout]  --> src/core/retry.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub async fn with_retry<T, F, Fut>(
[INFO] [stdout]   |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_retry` is never used
[INFO] [stdout]   --> src/core/retry.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn should_retry(error: &CoreError) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: captured variable cannot escape `FnMut` closure body
[INFO] [stdout]   --> src/core/retry.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |           let mut attempts = 0;
[INFO] [stdout]    |               ------------ variable defined here
[INFO] [stdout] 63 |           let result = with_retry(
[INFO] [stdout] 64 |               || async {
[INFO] [stdout]    |  ______________-_^
[INFO] [stdout]    | |              |
[INFO] [stdout]    | |              inferred to be a `FnMut` closure
[INFO] [stdout] 65 | |                 attempts += 1;
[INFO] [stdout]    | |                 -------- variable captured here
[INFO] [stdout] 66 | |                 if attempts < 2 {
[INFO] [stdout] 67 | |                     Err(CoreError::Retry("Test retry".to_string()))
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | |             },
[INFO] [stdout]    | |_____________^ returns an `async` block that contains a reference to a captured variable, which then escapes the closure body
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FnMut` closures only have access to their captured variables while they are executing...
[INFO] [stdout]    = note: ...therefore, they cannot allow references to captured variables to escape
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `q` (bin "q" test) due to 2 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b00c6910d4cb728b8e1ed182111e2bc6149bd8c61aec49a4c3ea245956fbf1d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b00c6910d4cb728b8e1ed182111e2bc6149bd8c61aec49a4c3ea245956fbf1d1", kill_on_drop: false }`
[INFO] [stdout] b00c6910d4cb728b8e1ed182111e2bc6149bd8c61aec49a4c3ea245956fbf1d1
